package com.hex.ds.hdtp.core.app.script.test.service;

import com.hex.ds.hdtp.core.app.common.service.IBasicService;
import com.hex.ds.hdtp.core.app.script.test.dto.request.ScriptDataTestTaskRequestDto;
import com.hex.ds.hdtp.core.app.script.test.dto.response.ScriptDataTestTaskResponseDto;

import java.util.List;

/**
 * @Package: com.hex.ds.hdtp.core.app.script.test.service
 * @ClassName IScriptDataTestTaskService
 * @Description: 带数据测试任务-业务接口
 * @Author: wz.li
 * @Date 2023/8/1 16:23
 * @Version v2.0.2
 **/
public interface IScriptDataTestTaskService extends IBasicService<ScriptDataTestTaskRequestDto> {

    /*
     * @Method: createTestTask <br>
     * @Param: [scriptDataTestTaskRequestDto] <br>
     * @Return: java.lang.String <br>
     * @Description：创建测试任务<br>
     * @Author： wz.li<br>
     * @Date： 2023/8/3 11:29 <br>
     * @Version： V2.0.2<br>
     */
    String createTestTask(ScriptDataTestTaskRequestDto scriptDataTestTaskRequestDto);

    /*
     * @Method: queryList <br>
     * @Param: [scriptDataTestTaskRequestDto] <br>
     * @Return: java.util.List<com.hex.ds.hdtp.core.app.script.test.dto.response.ScriptDataTestTaskResponseDto> <br>
     * @Description：不分页查询<br>
     * @Author： wz.li<br>
     * @Date： 2023/8/1 16:23 <br>
     * @Version： V2.0.2<br>
     */
    List<ScriptDataTestTaskResponseDto> queryList(ScriptDataTestTaskRequestDto scriptDataTestTaskRequestDto);

    /*
     * @Method: batchRemoveById <br>
     * @Param: [pkIds] <br>
     * @Return: void <br>
     * @Description：根据主键批量删除<br>
     * @Author： wz.li<br>
     * @Date： 2023/8/1 16:31 <br>
     * @Version： V2.0.2<br>
     */
    void batchRemoveById(List<String> pkIds);

    /**
     * @Method queryById <br>
     * @Param
     * @Param pkId <br>
     * @Return com.hex.ds.hdtp.core.app.script.test.dto.response.ScriptDataTestTaskResponseDto <br>
     * @Description 根据id查询<br>
     * @Author jian.qiao<br>
     * @Date 2023/10/27 18:38 <br>
     * @Version V1.0<br>
     */
    ScriptDataTestTaskResponseDto queryById(String pkId);

    /*
     * @Method: test <br>
     * @Param: [pkId] <br>
     * @Return: void <br>
     * @Description：带数据测试任务-测试<br>
     * @Author： wz.li<br>
     * @Date： 2023/8/4 17:39 <br>
     * @Version： V2.0.2<br>
     */
    void test(String pkId);

    /*
     * @Method: dataAlignment <br>
     * @Param: [pkId] <br>
     * @Return: void <br>
     * @Description：数据分析<br>
     * @Author： wz.li<br>
     * @Date： 2023/8/8 10:29 <br>
     * @Version： V2.0.2<br>
     */
    void dataAlignment(String pkId);

    /*
     * @Method: modifySuccessById <br>
     * @Param: [pkId] <br>
     * @Return: void <br>
     * @Description：根据测试任务主键更新任务测试成功个数<br>
     * @Author： wz.li<br>
     * @Date： 2023/8/7 18:13 <br>
     * @Version： V2.0.2<br>
     */
    void modifySuccessById(String pkId);

    /*
     * @Method: modifyFailNumById <br>
     * @Param: [pkId] <br>
     * @Return: void <br>
     * @Description：根据测试任务主键更新任务测试失败个数<br>
     * @Author： wz.li<br>
     * @Date： 2023/8/7 18:12 <br>
     * @Version： V2.0.2<br>
     */
    void modifyFailNumById(String pkId);
}
